﻿using System.Diagnostics.Contracts;

namespace Library.Collections
{
    public interface ILinkedListNodePrevious
    {
        [Pure]
        ILinkedListNodePrevious Previous { get; }
    }

    public interface ILinkedListNodeNext
    {
        [Pure]
        ILinkedListNodeNext Next { get; } 
    }

    public interface ILinkedListNode : ILinkedListNodePrevious, ILinkedListNodeNext
    {
        [Pure]
        new ILinkedListNode Previous { get; }
        [Pure]
        new ILinkedListNode Next { get; }
    }
}
